home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / DCLAP 6d / dclap6d / DBio / DSeqCmds.h < prev    next >
Text File  |  1996-07-05  |  6KB  |  219 lines

  1. // DSeqCmds.h
  2.  
  3. #ifndef _DSEQCMDS_
  4. #define _DSEQCMDS_
  5.  
  6.  
  7. #include "DCommand.h"
  8. #include "DTableView.h"
  9. #include "ncbi.h"
  10.  
  11. class DSeqDoc;
  12. class DSeqList;
  13. class DSequence;
  14. class DAlnView;
  15.  
  16. class DSeqChangeCmd : public DCommand
  17. {
  18. public:
  19.     enum { cSeqChange = 30594 };
  20.     DSeqList * fOldSeqs, * fNewSeqs;
  21.     DAlnView * fAlnView;
  22.     DSeqDoc * fSeqDoc;
  23.     
  24.     DSeqChangeCmd( char* title, DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs);
  25.     virtual ~DSeqChangeCmd();
  26.     virtual void DoIt();
  27.     virtual void Undo();
  28.     virtual void Redo();
  29.     virtual void Commit();
  30.  
  31.     virtual Boolean Initialize();  
  32.     virtual void DoItWork();
  33.     virtual void UndoWork();
  34.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  35. };
  36.  
  37.  
  38. class DSeqReverseCmd : public DSeqChangeCmd {
  39. public: 
  40.     DSeqReverseCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs):
  41.          DSeqChangeCmd("reverse", itsAlnDoc,itsView,itsSeqs) {}
  42.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  43. };
  44.  
  45. class DSeqComplementCmd : public DSeqChangeCmd {
  46. public:
  47.     DSeqComplementCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  48.         DSeqChangeCmd("complement", itsAlnDoc,itsView,itsSeqs) {}
  49.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  50. };
  51.  
  52. class DSeqRevComplCmd : public DSeqChangeCmd {
  53. public: 
  54.     DSeqRevComplCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs):
  55.         DSeqChangeCmd("rev-compl", itsAlnDoc,itsView,itsSeqs) {}
  56.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  57. };
  58.  
  59. class DSeqCompressCmd : public DSeqChangeCmd {
  60. public: 
  61.     DSeqCompressCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  62.         DSeqChangeCmd("degap", itsAlnDoc,itsView,itsSeqs) {}
  63.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  64. };
  65.  
  66.  
  67. class DSeqCompressMaskCmd : public DSeqChangeCmd {
  68. public: 
  69.     DSeqCompressMaskCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  70.         DSeqChangeCmd("mask-compress", itsAlnDoc,itsView,itsSeqs) {}
  71.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  72. };
  73.  
  74. class DSeqDna2RnaCmd : public DSeqChangeCmd {
  75. public: 
  76.     DSeqDna2RnaCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  77.         DSeqChangeCmd("dna2rna", itsAlnDoc,itsView,itsSeqs) {}
  78.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  79. };
  80.  
  81. class DSeqRna2DnaCmd : public DSeqChangeCmd {
  82. public: 
  83.     DSeqRna2DnaCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  84.         DSeqChangeCmd("rna2dna", itsAlnDoc,itsView,itsSeqs) {}
  85.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  86. };
  87.  
  88. class DSeqTranslateCmd : public DSeqChangeCmd {
  89. public: 
  90.     DSeqTranslateCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  91.         DSeqChangeCmd("translate", itsAlnDoc,itsView,itsSeqs) {}
  92.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  93. };
  94.  
  95. class DSeqLockIndelsCmd : public DSeqChangeCmd {
  96. public: 
  97.     DSeqLockIndelsCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  98.         DSeqChangeCmd("lock indels", itsAlnDoc,itsView,itsSeqs) {}
  99.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  100. };
  101.  
  102. class DSeqUnlockIndelsCmd : public DSeqChangeCmd {
  103. public: 
  104.     DSeqUnlockIndelsCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  105.         DSeqChangeCmd("unlock indels", itsAlnDoc,itsView,itsSeqs) {}
  106.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  107. };
  108.  
  109. class DSeqUppercaseCmd : public DSeqChangeCmd {
  110. public: 
  111.     DSeqUppercaseCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  112.         DSeqChangeCmd("uppercase", itsAlnDoc,itsView,itsSeqs) {}
  113.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  114. };
  115.  
  116. class DSeqLowercaseCmd : public DSeqChangeCmd {
  117. public: 
  118.     DSeqLowercaseCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  119.         DSeqChangeCmd("lowercase", itsAlnDoc,itsView,itsSeqs) {}
  120.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  121. };
  122.  
  123.  
  124.  
  125. class DAlnSlider : public DRCshifter 
  126. {
  127. public:
  128.     enum { cAlnShiftCmd = 2451 };
  129.     DAlnView    * fAlnView;
  130.     DSeqDoc        * fSeqDoc;
  131.     DSeqList    * fNewSeqs, * fOldSeqs;
  132.     Nlm_RecT        fOldSelection, fNewSelection; //Nlm_RgN later ...
  133.     Nlm_Boolean    fSlideAll;
  134.     
  135.     DAlnSlider();
  136.     DAlnSlider( DSeqDoc* itsDoc, DTableView* itsView, DAlnView* itsAlnView,  long oldRC);
  137.     virtual ~DAlnSlider();
  138.     virtual void IAlnSlider( DSeqDoc* itsDoc, DTableView* itsView, DAlnView* itsAlnView,  long oldRC);
  139.     virtual void Reset();
  140.     virtual void TrackFeedback( TrackPhase aTrackPhase,
  141.                     const Nlm_PoinT& anchorPoint, const Nlm_PoinT& previousPoint,
  142.                     const Nlm_PoinT& nextPoint, Nlm_Boolean mouseDidMove, Nlm_Boolean turnItOn);
  143.     virtual void DoIt(); 
  144.     virtual void Undo();
  145.     virtual void Redo(); 
  146.  
  147.     virtual void DoItWork(); 
  148.     virtual void UndoWork(); 
  149.     virtual void DoSlide();
  150. };
  151.     
  152.  
  153. class DAlnShifter : public DAlnSlider 
  154. {
  155. public:
  156.     DAlnShifter();
  157.     DAlnShifter( DSeqDoc* itsDoc, DTableView* itsView, DAlnView* itsAlnView,  long oldRC);
  158.     virtual ~DAlnShifter();
  159.     virtual void IAlnSlider( DSeqDoc* itsDoc, DTableView* itsView, DAlnView* itsAlnView,  long oldRC);
  160.     virtual void DoItWork(); 
  161.     virtual void UndoWork(); 
  162.     virtual void DoSlide();
  163.     virtual void TrackFeedback( TrackPhase aTrackPhase,
  164.                     const Nlm_PoinT& anchorPoint, const Nlm_PoinT& previousPoint,
  165.                     const Nlm_PoinT& nextPoint, Nlm_Boolean mouseDidMove, Nlm_Boolean turnItOn);
  166. };
  167.     
  168.  
  169.  
  170. class DAlnEditCommand : public DCommand
  171. {
  172. public:
  173.     enum { cAlnEdit = 31596 };
  174.     DSeqList * fOldList;
  175.     DSeqDoc  * fAlnDoc;
  176.     Nlm_RecT     fSelection;
  177.  
  178.     DAlnEditCommand(DSeqDoc* itsDoc, short itsCommand);
  179.     virtual ~DAlnEditCommand();
  180.     virtual void DoIt();
  181.     virtual void Undo();
  182.     virtual void Redo();
  183.     virtual void Commit();
  184.  
  185.     virtual void CopySelection();
  186.     virtual void DeleteSelection();
  187.     virtual void RestoreSelection();
  188.     virtual void ReSelect();
  189.  
  190.     virtual void DoItWork();
  191.     virtual void UndoWork();
  192.     virtual void RedoWork();
  193.  
  194. };
  195.  
  196. class DAlnPasteCommand : public DCommand
  197. {
  198. public:
  199.     enum { cAlnPaste = 31597 };
  200.     DSeqList * fClipList;
  201.     DSeqDoc  * fAlnDoc;
  202.     long    fInsRow;
  203.     
  204.     DAlnPasteCommand(DSeqDoc* itsDoc);
  205.     virtual ~DAlnPasteCommand();
  206.     virtual void DoIt();
  207.     virtual void Undo();
  208.     virtual void Redo();
  209.     virtual void Commit();
  210.  
  211.     virtual void DoItWork();
  212.     virtual void UndoWork();
  213. };
  214.  
  215.  
  216.  
  217. #endif
  218.  
  219.